E-initialDelaySeconds가 아니라 스타트업 프로브가 필요한 이유
개요
나는 처음에 스타트업 프로브는 실패가 기본이고 성공일 때 작동을 중지한다고 생각했다.
그래야 프로세스의 확실한 시작을 보장할 수 있으니까.
그런데 실상은 실패할 때마다 컨테이너를 재시작해버린다..
그러면 라이브네스 프로브에 그냥 initialDelaySeconds
를 길게 설정하면 그만 아닌가?
스타트업이 필요한 이유
상황에서 유리하다.
위의 사진에서 앱이 최대 2분 안에는 시작할 것이라고 예상하고 있다고 쳐보자.
그럼 그냥 120초를 기다려버릴 것이냐?
운이 좋아 앱이 빨리 작동한다면 더 빨리 준비 상태라고 칠 수도 있지 않은가.
이때 위처럼 failureThreshold
를 높이 걸고 주기를 주는 것이다.
이러면 운 좋게 110초에 시작한 앱의 상태를 감지하고 바로 파드가 정상적으로 동작할 수 있다.